/**
 * Copyright (c) 2012, lincomb Technology CO,LDT. All rights reserved.
 * Module: App推送
 * File: PushMessageService.java
 * Purpose: 处理App推送消息Service接口层
 * Date: 2016-6-6
 */
package com.edais.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.edais.domain.AfficheTab;
import com.edais.domain.PushMessageRecord;
import com.edais.domain.UnReadMsgInfo;
import com.yunzhi.domain.RequestHeader;
import com.yunzhi.domain.ResultDTO;
/**
 * ClassName: PushMessageService 
 * @Description: App推送消息Service接口类
 * @author ZuoJun
 * @date 2016-6-6 17:15
 */
public interface PushMessageService {
	
	/**
	 * @Description: 处理保存手机设备信息业务
	 * @param param
	 * @param header
	 * @return Map<String, Object>
	 * @author ZuoJun
	 * @date 2016-6-6 17:17
	 */
	ResultDTO saveMobileInfo(JSONObject param,RequestHeader header);

	/**
	 * 解绑其他手机
	 * @param params		参数
	 * @param header		请求头
	 * @return
	 */
	void unbindOtherMobile(JSONObject params, RequestHeader header);
	/**
	 * @Description: 处理解除设备绑定业务
	 * @param params
	 * @return Map<String, Object>
	 * @author ZuoJun
	 * @date 2016-7-15 15:40
	 */
	ResultDTO unbindMobile(JSONObject params, RequestHeader header);
	
	/**
	 * @Description: 处理根据用户ID、消息类别查询消息或公告信息业务
	 * @param params
	 * @return ResultDTO<Map<String, Object>>
	 * @author ZuoJun
	 * @date 2016-6-6 17:17:39
	 */
	public ResultDTO<PushMessageRecord> queryMessage(Map<String, Object> params);
	
	/**
	 * @Description: 处理查询媒体报道信息业务
	 * @param params
	 * @return Map<String, Object>
	 * @author ZuoJun
	 * @date 2016-6-6 17:17:39
	 */
	public ResultDTO<AfficheTab> queryMediaReport(Map<String, Object> params);

	
	/**
	 * @Description: 根据用户ID查询未读信息数
	 * @param params
	 * @return List
	 * @author WuHan
	 * @date 2017-2-6
	 */
	public  List<UnReadMsgInfo> queryUnReadNumList(Map<String, Object> params);
	
	/**
	 * @Description: 清除用户未读信息数
	 * @param params
	 * @author WuHan
	 * @date 2016-6-7 21:18:00
	 */
	void clearUnReadNum(Map<String, Object> params);
	
	/**
	 * 查询媒体报道详细信息
	 * @param params
	 * @return
	 */
	Map<String, Object> queryMediaReportDetail(Map<String, Object> params);
	
}
